package com.panda.mall.common.mallCoupon.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.panda.mall.common.base.BasePageQuery;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.Size;
import java.util.Date;

/**
 * author: tcy
 * createDate: 2023/7/24
 * description: 优惠券信息查询
 */
@Data
public class CouponInfoDto extends BasePageQuery {

    /**
     * 优惠券名
     */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("优惠券名")
    @Length(max= 255,message="编码长度不能超过255")
    private String couponName;

    /**
     * 优惠券类型（0-全场赠券，1-会员赠券，2-购物赠券，3-优惠赠券）
     */
    @ApiModelProperty("优惠券类型（0-全场赠券，1-会员赠券，2-购物赠券，3-优惠赠券）")
    private Integer couponType;

    /**
     * 使用类型（0-全场，1-指定分类，2-指定商品）
     */
    @ApiModelProperty("使用类型（0-全场，1-指定分类，2-指定商品）")
    private Integer useType;

    /**
     * 用户等级
     */
    @ApiModelProperty("用户等级")
    private Long userLevel;

    /**
     * 发行状态（0-未发行，1-已发行）
     */
    @ApiModelProperty("发行状态（0-未发行，1-已发行）")
    private Integer publishStatus;

    /**
     * 开始时间
     */
    @ApiModelProperty("开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date startTime;

    /**
     * 结束时间
     */
    @ApiModelProperty("结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date endTime;
}
